import request from "@/utils/request";
import requestUtil from "@/utils/requestUtil";

const CRAFT_BASE_URL = "/business/craft";


const CraftAPI = {
  /** 获取工艺定价分页数据 */
  getPage(queryParams?: CraftPageQuery) {
    return requestUtil.get<PageResult<CraftPageVO[]>>(`${CRAFT_BASE_URL}/loadPage`, queryParams)
  },

  

  /**
   * 获取工艺定价表单数据
   *
   * @param id 工艺定价ID
   * @returns 工艺定价表单数据
   */
  getFormData(id: string) {
    return requestUtil.get<CraftForm>(`${CRAFT_BASE_URL}/load/${id}`);
  },

  /** 添加工艺定价 */
  create(data: CraftForm) {
    return requestUtil.post<CraftForm>(`${CRAFT_BASE_URL}/add`, data);  
  },

  /**
   * 更新工艺定价
   *
   * @param id 工艺定价ID
   * @param data 工艺定价表单数据
   */
  update(id: string, data: CraftForm) {
    return requestUtil.post<CraftForm>(`${CRAFT_BASE_URL}/update`, data);  
  },

  /**
   * 批量删除工艺定价，多个以英文逗号(,)分割
   *
   * @param ids 工艺定价ID字符串，多个以英文逗号(,)分割
   */
  deleteByIds(ids: string) {
    return requestUtil.get<number>(`${CRAFT_BASE_URL}/batchDelete?ids=${ids}`);
  },
};

export default CraftAPI;

/** 分页查询参数 */
export interface CraftPageQuery extends PageQuery {
  /** 搜索关键字 */
  keywords?: string;
}

/** 分页对象 */
export interface CraftPageVO {
  /** 工艺定价ID */
  id?: string;
  /** 工艺定价名称 */
  name?: string;
  /** 描述 */
  remark?: string;
  /** 工艺定价 */
  price?: number;
  unit?: string;
}

/** 工艺定价表单对象 */
export interface CraftForm {
  /** 工艺定价ID */
  id?: string;
  /** 工艺定价名称 */
  name?: string;
  /** 描述 */
  remark?: string;
  /** 工艺定价 */
  price?: number;
  unit?: string;
}
